#ifndef MTFUNCTIONDEFINITION_H
#define MTFUNCTIONDEFINITION_H

#include "MTStatement.hpp"
#include "MTIdentifier.hpp"
#include "MTBlock.hpp"

namespace MathematicaTranslator {

	class MTFunctionDefinition : public MTStatement {

	public:
		MTIdentifier &id;
		DeclaredVariableList argList;
		MTStatement &block;

		MTFunctionDefinition(MTIdentifier &id, const DeclaredVariableList& argList,  MTStatement &block)
			: id(id), argList(argList), block(block) {};

		virtual std::string* generateCode(CodeGenContext& context);

	};

}
#endif
